﻿namespace CKQDJK {
	using System;
	using SuperORM.Attributes;
	using System.ComponentModel;
	
	
	/// <summary>项目冻结</summary>
	[Object("项目冻结", "CKQDJK", "项目冻结")]
	[Browsable(true)]
	[DisplayName("项目冻结")]
	[ReadOnly(false)]
	[Serializable()]
	public class 项目冻结 : SuperORM.BusinessObject {
		
		/// <summary>内部变量：CK_GUID</summary>
		private string m_CK_GUID;
		
		/// <summary>标示属性CK_GUID是否为空的字段。</summary>
		private bool m_IsCK_GUIDNull = true;
		
		/// <summary>内部变量：许可证号</summary>
		private string m_许可证号;
		
		/// <summary>标示属性许可证号是否为空的字段。</summary>
		private bool m_Is许可证号Null = true;
		
		/// <summary>内部变量：项目档案号</summary>
		private string m_项目档案号;
		
		/// <summary>标示属性项目档案号是否为空的字段。</summary>
		private bool m_Is项目档案号Null = true;
		
		/// <summary>内部变量：矿山名称</summary>
		private string m_矿山名称;
		
		/// <summary>标示属性矿山名称是否为空的字段。</summary>
		private bool m_Is矿山名称Null = true;
		
		/// <summary>内部变量：申请人</summary>
		private string m_申请人;
		
		/// <summary>标示属性申请人是否为空的字段。</summary>
		private bool m_Is申请人Null = true;
		
		/// <summary>内部变量：建立日期</summary>
		private System.DateTime m_建立日期;
		
		/// <summary>标示属性建立日期是否为空的字段。</summary>
		private bool m_Is建立日期Null = true;
		
		/// <summary>内部变量：期限类型</summary>
		private int m_期限类型;
		
		/// <summary>标示属性期限类型是否为空的字段。</summary>
		private bool m_Is期限类型Null = true;
		
		/// <summary>内部变量：有效期起</summary>
		private System.DateTime m_有效期起;
		
		/// <summary>标示属性有效期起是否为空的字段。</summary>
		private bool m_Is有效期起Null = true;
		
		/// <summary>内部变量：有效期止</summary>
		private System.DateTime m_有效期止;
		
		/// <summary>标示属性有效期止是否为空的字段。</summary>
		private bool m_Is有效期止Null = true;
		
		/// <summary>内部变量：冻结类型</summary>
		private string m_冻结类型;
		
		/// <summary>标示属性冻结类型是否为空的字段。</summary>
		private bool m_Is冻结类型Null = true;
		
		/// <summary>内部变量：冻结状态</summary>
		private int m_冻结状态;
		
		/// <summary>标示属性冻结状态是否为空的字段。</summary>
		private bool m_Is冻结状态Null = true;
		
		/// <summary>内部变量：批准文号</summary>
		private string m_批准文号;
		
		/// <summary>标示属性批准文号是否为空的字段。</summary>
		private bool m_Is批准文号Null = true;
		
		/// <summary>内部变量：批准日期</summary>
		private System.DateTime m_批准日期;
		
		/// <summary>标示属性批准日期是否为空的字段。</summary>
		private bool m_Is批准日期Null = true;
		
		/// <summary>内部变量：冻结提醒</summary>
		private int m_冻结提醒;
		
		/// <summary>标示属性冻结提醒是否为空的字段。</summary>
		private bool m_Is冻结提醒Null = true;
		
		/// <summary>内部变量：冻结原因说明</summary>
		private string m_冻结原因说明;
		
		/// <summary>标示属性冻结原因说明是否为空的字段。</summary>
		private bool m_Is冻结原因说明Null = true;
		
		/// <summary>内部变量：BSM</summary>
		private int m_BSM;
		
		/// <summary>标示属性BSM是否为空的字段。</summary>
		private bool m_IsBSMNull = true;
		
		public static string TypeID = "CKQDJK.项目冻结";
		
		/// <summary>属性CK_GUID</summary>
		[Member("CK_GUID", "CK_GUID", "System.String", 80, false, false, "CK_GUID")]
		[Browsable(true)]
		[DisplayName("CK_GUID")]
		[ReadOnly(false)]
		public string CK_GUID {
			get {
				return this.m_CK_GUID;
			}
			set {
				this.m_CK_GUID = value;
				this.m_IsCK_GUIDNull = false;
			}
		}
		
		/// <summary>属性许可证号</summary>
		[Member("许可证号", "许可证号", "System.String", 50, false, false, "许可证号")]
		[Browsable(true)]
		[DisplayName("许可证号")]
		[ReadOnly(false)]
		public string 许可证号 {
			get {
				return this.m_许可证号;
			}
			set {
				this.m_许可证号 = value;
				this.m_Is许可证号Null = false;
			}
		}
		
		/// <summary>属性项目档案号</summary>
		[Member("项目档案号", "项目档案号", "System.String", 50, false, false, "项目档案号")]
		[Browsable(true)]
		[DisplayName("项目档案号")]
		[ReadOnly(false)]
		public string 项目档案号 {
			get {
				return this.m_项目档案号;
			}
			set {
				this.m_项目档案号 = value;
				this.m_Is项目档案号Null = false;
			}
		}
		
		/// <summary>属性矿山名称</summary>
		[Member("矿山名称", "矿山名称", "System.String", 200, false, false, "矿山名称")]
		[Browsable(true)]
		[DisplayName("矿山名称")]
		[ReadOnly(false)]
		public string 矿山名称 {
			get {
				return this.m_矿山名称;
			}
			set {
				this.m_矿山名称 = value;
				this.m_Is矿山名称Null = false;
			}
		}
		
		/// <summary>属性申请人</summary>
		[Member("申请人", "申请人", "System.String", 200, false, false, "申请人")]
		[Browsable(true)]
		[DisplayName("申请人")]
		[ReadOnly(false)]
		public string 申请人 {
			get {
				return this.m_申请人;
			}
			set {
				this.m_申请人 = value;
				this.m_Is申请人Null = false;
			}
		}
		
		/// <summary>属性建立日期</summary>
		[Member("建立日期", "建立日期", "System.DateTime", 8, false, false, "建立日期")]
		[Browsable(true)]
		[DisplayName("建立日期")]
		[ReadOnly(false)]
		public System.DateTime 建立日期 {
			get {
				return this.m_建立日期;
			}
			set {
				this.m_建立日期 = value;
				this.m_Is建立日期Null = false;
			}
		}
		
		/// <summary>属性期限类型</summary>
		[Member("期限类型", "期限类型", "System.Int32", 4, false, false, "期限类型")]
		[Browsable(true)]
		[DisplayName("期限类型")]
		[ReadOnly(false)]
		public int 期限类型 {
			get {
				return this.m_期限类型;
			}
			set {
				this.m_期限类型 = value;
				this.m_Is期限类型Null = false;
			}
		}
		
		/// <summary>属性有效期起</summary>
		[Member("有效期起", "有效期起", "System.DateTime", 8, false, false, "有效期起")]
		[Browsable(true)]
		[DisplayName("有效期起")]
		[ReadOnly(false)]
		public System.DateTime 有效期起 {
			get {
				return this.m_有效期起;
			}
			set {
				this.m_有效期起 = value;
				this.m_Is有效期起Null = false;
			}
		}
		
		/// <summary>属性有效期止</summary>
		[Member("有效期止", "有效期止", "System.DateTime", 8, false, false, "有效期止")]
		[Browsable(true)]
		[DisplayName("有效期止")]
		[ReadOnly(false)]
		public System.DateTime 有效期止 {
			get {
				return this.m_有效期止;
			}
			set {
				this.m_有效期止 = value;
				this.m_Is有效期止Null = false;
			}
		}
		
		/// <summary>属性冻结类型</summary>
		[Member("冻结类型", "冻结类型", "System.String", 100, false, false, "冻结类型")]
		[Browsable(true)]
		[DisplayName("冻结类型")]
		[ReadOnly(false)]
		public string 冻结类型 {
			get {
				return this.m_冻结类型;
			}
			set {
				this.m_冻结类型 = value;
				this.m_Is冻结类型Null = false;
			}
		}
		
		/// <summary>属性冻结状态</summary>
		[Member("冻结状态", "冻结状态", "System.Int32", 4, false, false, "冻结状态")]
		[Browsable(true)]
		[DisplayName("冻结状态")]
		[ReadOnly(false)]
		public int 冻结状态 {
			get {
				return this.m_冻结状态;
			}
			set {
				this.m_冻结状态 = value;
				this.m_Is冻结状态Null = false;
			}
		}
		
		/// <summary>属性批准文号</summary>
		[Member("批准文号", "批准文号", "System.String", 160, false, false, "批准文号")]
		[Browsable(true)]
		[DisplayName("批准文号")]
		[ReadOnly(false)]
		public string 批准文号 {
			get {
				return this.m_批准文号;
			}
			set {
				this.m_批准文号 = value;
				this.m_Is批准文号Null = false;
			}
		}
		
		/// <summary>属性批准日期</summary>
		[Member("批准日期", "批准日期", "System.DateTime", 8, false, false, "批准日期")]
		[Browsable(true)]
		[DisplayName("批准日期")]
		[ReadOnly(false)]
		public System.DateTime 批准日期 {
			get {
				return this.m_批准日期;
			}
			set {
				this.m_批准日期 = value;
				this.m_Is批准日期Null = false;
			}
		}
		
		/// <summary>属性冻结提醒</summary>
		[Member("冻结提醒", "冻结提醒", "System.Int32", 4, false, false, "冻结提醒")]
		[Browsable(true)]
		[DisplayName("冻结提醒")]
		[ReadOnly(false)]
		public int 冻结提醒 {
			get {
				return this.m_冻结提醒;
			}
			set {
				this.m_冻结提醒 = value;
				this.m_Is冻结提醒Null = false;
			}
		}
		
		/// <summary>属性冻结原因说明</summary>
		[Member("冻结原因说明", "冻结原因说明", "System.String", 510, false, false, "冻结原因说明")]
		[Browsable(true)]
		[DisplayName("冻结原因说明")]
		[ReadOnly(false)]
		public string 冻结原因说明 {
			get {
				return this.m_冻结原因说明;
			}
			set {
				this.m_冻结原因说明 = value;
				this.m_Is冻结原因说明Null = false;
			}
		}
		
		/// <summary>属性BSM</summary>
		[Member("BSM", "BSM", true, true, "BSM")]
		[Browsable(true)]
		[DisplayName("BSM")]
		[ReadOnly(false)]
		public int BSM {
			get {
				return this.m_BSM;
			}
			set {
				this.m_BSM = value;
				this.m_IsBSMNull = false;
				if ((this.OnOIDChanged != null)) {
					this.OnOIDChanged(this, null);
				}
			}
		}
		
		/// <summary>对象ID发生变化的时候触发的事件</summary>
		public event SuperORM.Attributes.OIDChangedHandler OnOIDChanged;
		
		/// <summary>属性改变的时候</summary>
		public event SuperORM.PropertyChangeHandler PropertyChanged;
		
		// 重载的方法，判断两个对象是否相等，判断条件是两个对象的主键值是否相等。
		public override bool Equals(object obj) {
			项目冻结 项目冻结 = ((项目冻结)(obj));
			if ((项目冻结.BSM == this.m_BSM)) {
				return true;
			}
			else {
				return false;
			}
		}
		
		/// <summary>判断某一个属性是否为空</summary>
		public override bool IsNull(string propname) {
			if (propname.Equals("CK_GUID")) {
				return this.m_IsCK_GUIDNull;
			}
			if (propname.Equals("许可证号")) {
				return this.m_Is许可证号Null;
			}
			if (propname.Equals("项目档案号")) {
				return this.m_Is项目档案号Null;
			}
			if (propname.Equals("矿山名称")) {
				return this.m_Is矿山名称Null;
			}
			if (propname.Equals("申请人")) {
				return this.m_Is申请人Null;
			}
			if (propname.Equals("建立日期")) {
				return this.m_Is建立日期Null;
			}
			if (propname.Equals("期限类型")) {
				return this.m_Is期限类型Null;
			}
			if (propname.Equals("有效期起")) {
				return this.m_Is有效期起Null;
			}
			if (propname.Equals("有效期止")) {
				return this.m_Is有效期止Null;
			}
			if (propname.Equals("冻结类型")) {
				return this.m_Is冻结类型Null;
			}
			if (propname.Equals("冻结状态")) {
				return this.m_Is冻结状态Null;
			}
			if (propname.Equals("批准文号")) {
				return this.m_Is批准文号Null;
			}
			if (propname.Equals("批准日期")) {
				return this.m_Is批准日期Null;
			}
			if (propname.Equals("冻结提醒")) {
				return this.m_Is冻结提醒Null;
			}
			if (propname.Equals("冻结原因说明")) {
				return this.m_Is冻结原因说明Null;
			}
			if (propname.Equals("BSM")) {
				return this.m_IsBSMNull;
			}
			return true;
		}
		
		/// <summary>将某个属性设置为空</summary>
		public override void SetNull(string propname) {
			if (propname.Equals("CK_GUID")) {
				this.m_IsCK_GUIDNull = true;
				return;
			}
			if (propname.Equals("许可证号")) {
				this.m_Is许可证号Null = true;
				return;
			}
			if (propname.Equals("项目档案号")) {
				this.m_Is项目档案号Null = true;
				return;
			}
			if (propname.Equals("矿山名称")) {
				this.m_Is矿山名称Null = true;
				return;
			}
			if (propname.Equals("申请人")) {
				this.m_Is申请人Null = true;
				return;
			}
			if (propname.Equals("建立日期")) {
				this.m_Is建立日期Null = true;
				return;
			}
			if (propname.Equals("期限类型")) {
				this.m_Is期限类型Null = true;
				return;
			}
			if (propname.Equals("有效期起")) {
				this.m_Is有效期起Null = true;
				return;
			}
			if (propname.Equals("有效期止")) {
				this.m_Is有效期止Null = true;
				return;
			}
			if (propname.Equals("冻结类型")) {
				this.m_Is冻结类型Null = true;
				return;
			}
			if (propname.Equals("冻结状态")) {
				this.m_Is冻结状态Null = true;
				return;
			}
			if (propname.Equals("批准文号")) {
				this.m_Is批准文号Null = true;
				return;
			}
			if (propname.Equals("批准日期")) {
				this.m_Is批准日期Null = true;
				return;
			}
			if (propname.Equals("冻结提醒")) {
				this.m_Is冻结提醒Null = true;
				return;
			}
			if (propname.Equals("冻结原因说明")) {
				this.m_Is冻结原因说明Null = true;
				return;
			}
			if (propname.Equals("BSM")) {
				this.m_IsBSMNull = true;
				return;
			}
		}
	}
}
